package com.erp.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
//Spring Boot配置类，用于解决跨域问题。
//@Configuration：这是一个Spring注解，用于声明当前类是一个配置类，Spring容器会加载并解析这个类中的配置信息。
@Configuration
//这段代码的作用是在Spring Boot应用中配置了跨域资源共享（CORS）规则。
// 它允许从http://localhost:8080发起的请求访问应用的所有路径，并支持GET、POST、PUT、DELETE和OPTIONS方法，
// 允许携带所有请求头，并允许发送Cookie。
//CorsRegistry：这是一个接口，用于注册跨域资源共享（CORS）的规则。
//WebMvcConfigurer：这是一个接口，用于自定义Spring MVC的配置。通过实现这个接口，可以扩展或覆盖Spring MVC的默认行为。
public class CrossOriginConfig implements WebMvcConfigurer {

    /*重写配置方法*/

    @Override

    //addCorsMappings(CorsRegistry registry)：这是WebMvcConfigurer接口中的一个方法，用于注册跨域规则。
    // CorsRegistry是一个注册表，用于定义跨域请求的规则。
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/*") // 匹配路径
            .allowedOrigins("http://localhost:8080") // 允许的源
            .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
            .allowedHeaders("*") // 允许的 header
            .allowCredentials(true); // 是否允许发送 Cookie

    }
}
